﻿using System;
using System.Collections.Generic;
using Jay.Sc2.Bof.Lib.Tools;

namespace Jay.Sc2.Bof.Lib.Action
{
	public interface IActionList : IList<IAction>, IEquatable<IActionList>
	{
		bool HaveRequirements(int index, IAction action);
		int InsertAction(int index, IAction action);
		void AddAction(IAction action);
		void Cut(int index);
		void Save(string filename);
		void Load(string filename);
		int CountAction(IAction action);
		IRace Race { get; }
		int AppendMissingAndRemoveExceeding(IList<IAction> source);
		Range CheckInput(int index, IAction action);
	}
}
